package com.oms.dao;

import java.io.Serializable;
import java.util.List;

public interface BaseDao<T> {

		//保存一条数据
		public Serializable save(T t);

		//更新一条数据
		public void update(T t);
	    
		//通过Id主键删除有条数据
	    public void del(Serializable pk);
	      
	    public void del(T t);
	    
	    //通过hql语句，和参数列表获取符合条件的数据数目
	    public int count(String hql,Object... params);
	    
	    //通过主键Id差一个数据
	    public T findById(Serializable pk);
	    
	    //数据库该表所有数据
	    public List<T> findAll();  
	    
	    //分页获取该表数据
	    public List<T> findByPage(int start,int count);
	    
	    //通过hql语句，和参数列表获取符合条件的数据集合
		public List<T> list(String hql, Object... params);
	      
		public int getTotalCount(String hql, Object... params);
		
		//通过hql语句，开始条目，获取条数，来获取对应的对象集
		public List<T> listWithPage(String hql, int count, int maxResults,Object... params);
		
/*		public Class<T> getEntityClazz();*/
}
